In a point-to-point messaging system, competing consumers receive messages sent by producers to a known destination. Consumers are competing in the sense that any given message produced is delivered to only one consumer. The delivery of messages features qualities of service that include reliability, ordering and duplication avoidance. In other words, messages may be delivered at least once, at most once or exactly once, and in the order given by any producer. The invention addresses the problem by providing end-to-end delivery protocols that support these qualities of service when producers, consumers and destinations are distributed across an overlay network of messaging servers.
Known solutions to this problem include the MQ Series system, where competing consumers may receive messages with similar qualities of service. Drawbacks of MQ Series include reduced scalability, flexibility and fault tolerance, given that consumers must directly attach to the messaging server that hosts the destination (queue) from which they receive messages.